Distributed algorithmic mechanism design